Within the field of computing, many scenarios involve the monitoring and use of the quality of a service provided by a source (e.g., a server) to various users. For example, the usability of a voice-over-IP (VoIP) telephony service may be determined by factors such as throughput and latency; e.g., acceptable configurations of the service may deliver voice communication with high audio resolution, low latency, and a reduction of noise and/or echoing, whereas a poor configuration of the service may introduce excessive lag in the communications between the parties. Additional quality-of-service (QoS) metrics may be measured for many such services, including the sustainable framerate and resolution of video provided by a streaming media service; the promptness and throughput of email hosted by an email server, or a website hosted by a webserver; the responsiveness and reliability of a game server; the transfer rates of a file service; and the execution rates of applications by a remote execution service. Additionally, many such services and servers may depend upon each other, and such dependencies may affect the service quality metrics of services involving such servers.
In these and other scenarios, the provider may monitor the network parameters of the service as provided to various users in order to identify techniques for improving the quality of the service. For example, because the quality of a VoIP service is often determined by latency and rate of throughput, a provider of a VoIP service may monitor the data throughput of its servers, and may provide to the user software to report the throughput achieved at the client. The VoIP service provider may also advise the client on techniques for achieving improved quality of service (e.g., that in some circumstances, adjusting router settings may improve the achieved quality of service), and may allow users to report the overall quality of service. If service is determined to be poor in a discrete set of circumstances, the VoIP service provider may dispatch a technician to investigate the cause of the poor service, and may respond accordingly (e.g., by generating and distributing a patch for a software problem, by reconfiguring a server to achieve improved throughput, or by advising users to adjust the configuration of their hardware or software systems).